package com.sdhs.system.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.sdhs.system.domain.MessageInfoDO;
import com.sdhs.system.domain.dto.MessageInfoDTO;
import com.sdhs.system.domain.vo.MessageInfoVO;

/**
 * 消息Mapper接口
 *
 * @author mz
 * @date 2023-09-04
 */
public interface MessageInfoMapper {
    /**
     * 查询消息
     *
     * @param id 消息主键
     * @return 消息
     */
     MessageInfoVO selectMessageInfoById(Long id);
    /**
     * 查询安全项目消息
     *
     * @param id 消息主键
     * @return 消息
     */
     MessageInfoVO selectMessageInfoByNoticeId(Long id);

    /**
     * 查询消息列表
     *
     * @param messageInfoDTO 消息
     * @return 消息集合
     */
     List<MessageInfoVO> selectMessageInfoList(MessageInfoDTO messageInfoDTO);

    /**
     * 新增消息
     *
     * @param MessageInfo 消息
     * @return 结果
     */
     int insertMessageInfo(MessageInfoDO messageInfo);
     
     int insertMessageInfoBatch(@Param("list") List<MessageInfoDO> list);

    /**
     * 修改消息
     *
     * @param MessageInfo 消息
     * @return 结果
     */
     int updateMessageInfo(MessageInfoDO messageInfo);
     
     int updateAllMsg(MessageInfoDO messageInfo);

    /**
     * 删除消息
     *
     * @param id 消息主键
     * @return 结果
     */
     int deleteMessageInfoById(Long id);

    /**
     * 批量删除消息
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
     int deleteMessageInfoByIds(Long[] ids);
     
     /**
      * 查询某个用户是否收到某个消息
      * @return
      */
    Integer countByContent(@Param("title") String title, @Param("content") String content, @Param("receiverUserName") String receiverUserName);
    
}
